module.exports = function (grunt) {
    
    //任务配置，所有插件的配置信息
    grunt.initConfig({
        //获取到package.json文件的信息
        pkg: grunt.file.readJSON('package.json'),
        
        //uglify压缩插件的配置信息
        uglify: {
            //压缩之后,压缩文件中的描述信息
            options: {
                striBanners: true,
                banner: '/*! <%=pkg.name%>-<%=pkg.version%>.js <%=grunt.template.today("yyyy-mm-dd")%> */\n'
            },
            build: {
                //目标文件
                src: 'js/index.js',
                //压缩后的文件
                dest: 'build/<%=pkg.name%>-<%=pkg.version%>.js.min.js'
            }
        },
        //使用jshint查看js代码中出现的错误，以及可能存在的一些问题
        jshint: {
            build: ['Gruntfile.js', 'js/index.js'],
            options: {
                jshintrc: '.jshintrc'       
            }     
        },
        //使用watch事实监控文件，实现自动化
        watch: {
            build: {
                files: ['js/index.js', 'css/index.css'],
                tasks: ['jshint', 'uglify'],
                options: {spawn: false}
            }     
        },
        cssmin: {
            options: {
                shorthandCompacting: false,
                roundingPrecision: -1
            },
            target: {
                files: {
                  'css/output.css': ['css/share-detail.css', 'css/share-shop.css']
                }
            },
            files :[{
                expand:true,
                cwd:'src',//原文件目录
                src:['*.css','!*.min.css'],
                dest:'build/css',//压缩后文件目录
                ext:'.min.css',//压缩后文件扩展名
                extDos:'first'//扩展名始于文件名的第一个点号
            }]
        }
        
    });
    //告诉我们将使用grunt插件
//    grunt.loadNpmTasks('grunt-contrib-uglify');
//    grunt.loadNpmTasks('grunt-contrib-jshint');
//    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.loadNpmTasks('grunt-contrib-cssmin');
    
    
    //告诉我们在输入grunt命令时需要做哪些(顺序)
    grunt.registerTask('default', 'cssmin');
};